import { NgModule, Type } from '@angular/core';
import { CountDownModule } from '@delon/abc/count-down';
import { G2CardModule } from '@delon/chart/card';
import { ChartEChartsModule } from '@delon/chart/chart-echarts';
import { G2TimelineModule } from '@delon/chart/timeline';
import { TrendModule } from '@delon/chart/trend';
import { SharedModule } from '@shared';
import { NzCascaderModule } from 'ng-zorro-antd/cascader';
import { NzCommentModule } from 'ng-zorro-antd/comment';
import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
import { NzDividerModule } from 'ng-zorro-antd/divider';
import { NzEmptyModule } from 'ng-zorro-antd/empty';
import { NzImageModule } from 'ng-zorro-antd/experimental/image';
import { NzRadioModule } from 'ng-zorro-antd/radio';
import { NzSpaceModule } from 'ng-zorro-antd/space';
import { NzStatisticModule } from 'ng-zorro-antd/statistic';
import { NzStepsModule } from 'ng-zorro-antd/steps';
import { NzSwitchModule } from 'ng-zorro-antd/switch';
import { NzTagModule } from 'ng-zorro-antd/tag';
import { NzTimelineModule } from 'ng-zorro-antd/timeline';

import { BusinessRoutingModule } from './business-routing.module';
import { BusinessCommentComponent } from './comment/comment.component';
import { BusinessInboundPlanComponent } from './inbound-plan/inbound-plan.component';
import { BusinessItemsIndicateComponent } from './items-indicate/items-indicate.component';
import { BusinessItemsIndicateViewComponent } from './items-indicate/view/view.component';
import { BusinessNetflowComponent } from './netflow/netflow.component';
import { BusinessOrderEditOrderupdateComponent } from './order/edit-orderupdate/edit-orderupdate.component';
import { BusinessOrderOnPurchaseComponent } from './order/on-purchase/on-purchase.component';
import { BusinessOrderOrderProcessComponent } from './order/order-process/order-process.component';
import { BusinessOrderComponent } from './order/order.component';
import { BusinessOrderSetPurchaseEditComponent } from './order/set-purchase-edit/set-purchase-edit.component';
import { BusinessOrderSetPurchaseComponent } from './order/set-purchase/set-purchase.component';
import { BusinessOrderViewComponent } from './order/view/view.component';
import { BusinessRefundConfirmedDetailComponent } from './refund-confirmed/detail/detail.component';
import { BusinessRefundConfirmedComponent } from './refund-confirmed/refund-confirmed.component';
import { BusinessRefundProcessComponent } from './refund-process/refund-process.component';
import { BusinessRefundComponent } from './refund/refund.component';
import { BusinessSaleStatisticsComponent } from './sale-statistics/sale-statistics.component';
import { BusinessShipmentInboundComponent } from './shipment-inbound/shipment-inbound.component';
import { BusinessShipmentShipmentProcessComponent } from './shipment/shipment-process/shipment-process.component';
import { BusinessShipmentComponent } from './shipment/shipment.component';
import { BusinessShipmentViewComponent } from './shipment/view/view.component';
import { BusinessShopComponent } from './shop/shop.component';
import { BusinessStatisticsComponent } from './statistics/statistics.component';
import { BusinessWareAnalysisComponent } from './ware-analysis/ware-analysis.component';

const COMPONENTS: Array<Type<void>> = [
  BusinessOrderComponent,
  BusinessOrderViewComponent,
  BusinessOrderEditOrderupdateComponent,
  BusinessOrderSetPurchaseComponent,
  BusinessOrderOnPurchaseComponent,
  BusinessOrderSetPurchaseEditComponent,
  BusinessOrderOrderProcessComponent,
  BusinessRefundComponent,
  BusinessShipmentComponent,
  BusinessShopComponent,
  BusinessNetflowComponent,
  BusinessItemsIndicateComponent,
  BusinessItemsIndicateViewComponent,
  BusinessInboundPlanComponent,
  BusinessShipmentInboundComponent,
  BusinessWareAnalysisComponent,
  BusinessShipmentViewComponent,
  BusinessShipmentShipmentProcessComponent,
  BusinessCommentComponent,
  BusinessRefundConfirmedComponent,
  BusinessRefundProcessComponent,
  BusinessStatisticsComponent,
  BusinessRefundConfirmedDetailComponent,
  BusinessSaleStatisticsComponent
];

@NgModule({
  imports: [
    SharedModule,
    BusinessRoutingModule,
    NzDividerModule,
    NzSpaceModule,
    NzCommentModule,
    NzImageModule,
    NzTagModule,
    CountDownModule,
    NzDatePickerModule,
    NzCascaderModule,
    NzRadioModule,
    NzSwitchModule,
    NzStatisticModule,
    NzTimelineModule,
    G2CardModule,
    TrendModule,
    G2TimelineModule,
    ChartEChartsModule,
    NzEmptyModule,
    NzImageModule,
    NzImageModule,
    NzImageModule,
    NzImageModule,
    NzImageModule,
    NzImageModule,
    NzImageModule,
    NzStepsModule
  ],
  declarations: COMPONENTS
})
export class BusinessModule {}
